package com.excesys.exsecs.energy.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 能耗维度：区域
 *
 * @author lxc
 * @date 2024-02-26 14:13:06
 */
@Data
@TableName("bum_dim_area")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "能耗维度：区域")
public class DimArea extends Model<DimArea> {


	/**
	 * 主键
	 */
	@TableId(type = IdType.AUTO)
	@Schema(description="主键")
	private Long id;

	/**
	 * 父节点，根节点缺省为0，所有一级区域的父节点都是0
	 */
	@Schema(description="父节点，根节点缺省为0，所有一级区域的父节点都是0")
	private Long parentId;

	/**
	 * 区域名称
	 */
	@Schema(description="区域名称")
	private String areaName;

	/**
	 * 是否有其他默认为0，没有，有为1
	 针对的是子表的总能耗相加的和小于总表总能耗的情况即会有无表计但确实存在能耗的线路，这部分线路的能耗为总表计的能耗减去下挂最近一级子表的能耗和
	 */
	@Schema(description="是否有其他默认为0")
	private String isother;

	/**
	 * 计量设备类型 1电表 2水表 3气。。。
	 */
	@Schema(description="计量设备类型 1电表 2水表 3气。。。")
	private String energyType;

	/**
	 * 关联计量设备
	 */
	@Schema(description="关联计量设备")
	@TableField(exist = false)
	private List<DevAreaMap> devAreaMapList;

	/**
	 * 参与计量设备名，用逗号分割
	 */
	@Schema(description="参与计量设备名，用逗号分割")
	@TableField(exist = false)
	private String devAreaNameStr;

	/**
	 * 备注
	 */
	@Schema(description="备注")
	private String remark;

	/**
	 * 创建人
	 */
	@TableField(fill = FieldFill.INSERT)
	@Schema(description="创建人")
	private String createBy;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	@Schema(description="创建时间")
	private LocalDateTime createTime;

	/**
	 * 更新人
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="更新人")
	private String updateBy;

	/**
	 * 更新时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="更新时间")
	private LocalDateTime updateTime;
}